package com.kakarote.bi.common.enums;

/**
 * bi自定义组件枚举
 *
 * @author zhangzhiwei
 */
public enum BiElementEnum {
    /**
     * 统计表
     */
    STATISTICAL_TABLE(1),
    /**
     * 明细表
     */
    DETAILED_TABLE(2),
    /**
     * 数据表格
     */
    DATA_TABLE(3),
    /**
     * 日历
     */
    CALENDAR(4),

    /**
     * 甘特图
     */
    GANTT_CHART(5),
    /**
     * 流程分析
     */
    FLOW_ANALYSIS(6),

    /**
     * 图片
     */
    IMG(7),
    /**
     * 文本
     */
    TEXT(8),
    /**
     * 搜索组件
     */
    SEARCH_ELEMENT(9),
    /**
     * 搜索按钮
     */
    SEARCH_BUTTON(10),
    /**
     * null 无业务含义
     */
    NULL(0);;

    /**
     * 组件类型
     */
    private final Integer type;

    BiElementEnum(Integer type) {
        this.type = type;
    }

    public static BiElementEnum parse(Integer type) {
        if (type == null) {
            return NULL;
        }
        switch (type) {
            case 1:
                return STATISTICAL_TABLE;
            case 2:
                return DETAILED_TABLE;
            case 3:
                return DATA_TABLE;
            case 4:
                return CALENDAR;
            case 5:
                return GANTT_CHART;
            case 6:
                return FLOW_ANALYSIS;
            case 7:
                return IMG;
            case 8:
                return TEXT;
            case 9:
                return SEARCH_ELEMENT;
            case 10:
                return SEARCH_BUTTON;
            default:
                return NULL;
        }
    }

    public Integer getType() {
        return type;
    }
}
